#include <iostream>
#include <vector>
using namespace std;

int N, M, R;
struct edge {   int from, to, cost; };
vector<edge> es;
bool operator<(const edge &e1, const edge &e2) {
    if (e1.cost < e2.cost) return true;
    return false;
}

int main() {
    cin >> N >> M >> R;
    int x, y, d;
    for (int i = 0; i < R; i++) {
        cin >> x >> y >> d;
        es.push_back({x, y + N, -d});
    }
    // 调用对应的最小树生成算法
}